]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Mirror Evolution calendar settings into our own schema
authorOwen W. Taylor <otaylor@fishsoup.net>
Fri, 20 Apr 2012 14:51:32 +0000 (10:51 -0400)
committerOwen W. Taylor <otaylor@fishsoup.net>
Wed, 25 Apr 2012 18:39:02 +0000 (14:39 -0400)
Right now, we are hard-depending on the presence of Evolution by
using its settings schemas. This is likely to be unpopular, and
also causes instability if someone happens not to have Evolution
installed, so install a schema that has the same data path as
the Evolution schema, but a different name and install that
for the keys we need.

To avoid a string-freeze break, we rely on the translations in
Evolution - if Evolution isn't installed, the key descriptions
will be untranslated in dconf-editor.

https://bugzilla.gnome.org/show_bug.cgi?id=674424

data/Makefile.am
data/org.gnome.shell.evolution.calendar.gschema.xml.in [new file with mode: 0644]
po/POTFILES.skip
src/calendar-server/calendar-sources.c

index 4803081e86bfc2c6330af3fb29270b49d8657ee7..05caf271941341d6615879a8cbd9ae8908f664d0 100644 (file)
@@ -53,7 +53,7 @@ dist_theme_DATA =                             \
        theme/ws-switch-arrow-up.svg            \
        theme/ws-switch-arrow-down.svg
 
-gsettings_SCHEMAS = org.gnome.shell.gschema.xml
+gsettings_SCHEMAS = org.gnome.shell.gschema.xml org.gnome.shell.evolution.calendar.gschema.xml
 
 @INTLTOOL_XML_NOMERGE_RULE@
 @GSETTINGS_RULES@
diff --git a/data/org.gnome.shell.evolution.calendar.gschema.xml.in b/data/org.gnome.shell.evolution.calendar.gschema.xml.in
new file mode 100644 (file)
index 0000000..f0ce82b
--- /dev/null
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- NOTE: This schema is a GNOME 3.4 workaround - it uses the same path
+     as org.gnome.evolution.calendar, but avoids us requiring Evolution
+     be installed. In GNOME 3.6 the selected state will become a flag
+     on the calendar. Because the translations are in Evolution,
+     this is untranslated and in POTFILES.skip.
+  -->
+<schemalist>
+  <schema path="/org/gnome/evolution/calendar/" id="org.gnome.shell.evolution.calendar" gettext-domain="evolution">
+    <key type="as" name="selected-calendars">
+      <default>[]</default>
+      <summary>List of selected calendars</summary>
+      <description>List of calendars to load</description>
+    </key>
+    <key type="as" name="selected-tasks">
+      <default>[]</default>
+      <summary>List of selected task lists</summary>
+      <description>List of task lists to load</description>
+    </key>
+  </schema>
+</schemalist>
index e032bdc3002c91fb4f6d8ed9b59bbd74c1e6d288..fe31eda4947ffcf933041723387d857e6c4c2423 100644 (file)
@@ -1,2 +1,3 @@
 data/gnome-shell.desktop.in
 data/gnome-shell-extension-prefs.desktop.in
+data/org.gnome.shell.evolution.calendar.gschema.xml.in
index a1eb80fd55530feaba1cd601ef58e8e944da4d90..59fa044f1ddf4c4978b0aac7660b69d6e7ab8377 100644 (file)
 #define CALENDAR_SOURCES_APPOINTMENT_SOURCES_KEY          CALENDAR_SOURCES_EVO_DIR "/calendar/sources"
 #define CALENDAR_SOURCES_TASK_SOURCES_KEY                 CALENDAR_SOURCES_EVO_DIR "/tasks/sources"
 
-#define CALENDAR_SELECTED_SOURCES_SCHEMA                  "org.gnome.evolution.calendar"
+/* org.gnome.shell.evolution.calendar has the same data behind it
+ * as org.gnome.evolution.calendar, but is a small schema we install
+ * ourselves */
+#define CALENDAR_SELECTED_SOURCES_SCHEMA                  "org.gnome.shell.evolution.calendar"
 #define CALENDAR_SOURCES_SELECTED_APPOINTMENT_SOURCES_KEY "selected-calendars"
 #define CALENDAR_SOURCES_SELECTED_TASK_SOURCES_KEY        "selected-tasks"